The present invention relates generally to communication systems and, more particularly, concerns the estimation of frequency offset in a communication system utilizing phase or frequency shift keying.
In modern communication systems, information is transmitted over a channel in the form of a signal containing a sequence of symbols from a predefined symbol constellation. For example, in a system utilizing QPSK (quartenary phase shift keying) for signal xe2x80x9cmodulationxe2x80x9d, each symbol represents pairs of bits of a binary signal. Each symbol is represented as a pulse of carrier signal with one of four predefined phases (e.g. 0xc2x0, 90xc2x0, 180xc2x0, 270xc2x0). In DQPSK (differential quadrature phase shift keying), the change in carrier phase represents a pair of consecutive bits, rather than the actual value of phase. In the process of transmission, the communication channel alters the characteristics of the transmitted signal and, typically, adds random interference, commonly known as xe2x80x9cnoise.xe2x80x9d These modifications of a transmitted signal can make it difficult to recognize at a receiver the signal that was originally sent by the transmitter.
Modern communication systems, such as TDMA (time division multiple access) systems, seek to make more efficient use of frequency channels in digital cellular telephone systems. Typically, multiple time slots are assigned to each frequency channel, each telephone is assigned one or more specific time slots for transmission, and sends a packet of information during its assigned time slots. These packets of information are assembled by receiving equipment into the original voice components. In TDMA in the United States, each channel has six time slots, which are shared by three telephones, each telephone using two time slots.
TDMA communication systems commonly employ some form of phase shift keying. In such systems, the mobile units may exhibit a significant amount of frequency drift or variation in their local oscillators. An important part of receiving information properly in such a system is therefore resolving the frequency offset inherent in the received signal.
Such systems typically use training sequences, a predetermined sequence of symbols, to train or calibrate the receiver in its environment, before handling actual communications. For example, a predetermined sequence of n symbols (x1, x2, . . . , xn) might be sent by the transmitter to train the receiver, with each symbol in the sequence being known in advance. QPSK and DQPSK signals are commonly generated by combining two orthogonal signals, for example, sine and cosine signals of the same frequency. Each symbol therefore conveniently is represented by a complex number, indicating the combination of two orthogonal components. For example, the nth symbol, xn, might be represented as:
xn=xn,r+jxn,i
Where xn,r and xn,i are the real and imaginary parts of xn, respectively, and j, by definition, is {square root over (xe2x88x921)}. A symbol may also be represented in polar form as xn=Xnej"PHgr"n, where Xn is the amplitude of the symbol and "PHgr"n is its phase.
Although a symbol sequence (x1, x2, . . . , xn) is transmitted, the receiver receives the symbol sequence (y1, y2, . . . , yn), in which the kth symbol, yk, is given by:
xe2x80x83yk=Ckxc2x7xk+nk
where nk is the noise introduced by the channel, yk and ck, like xk, are complex numbers, with ck characterizing the effect of the transmission channel on xk. ck can be represented, in polar form, as:
ck=Akxc2x7ejxcfx86kxc2x7ej2xcfx80kTxcex94f
where Ak and xcfx86k are relatively constant amplitude and phase changes introduced by the communication channel, k is the symbol""s time position, T is the symbol period, and xcex94f is the frequency offset, which is sought to be estimated by the present invention.
At present, xcex94f is typically estimated through a trial and error technique. For example, if the training sequence had fourteen symbols, the conventional method would evaluate the following equation:       ∑          k      =      1        14    ⁢      xe2x80x83    ⁢            y      k        ·          x      k      *        ·          ⅇ                        -          j2                ⁢                  xe2x80x83                ⁢        πΔ        ⁢                  xe2x80x83                ⁢        fkT            
for each of a plurality of xe2x80x9cguessesxe2x80x9d for xcex94f, where xk* is the conjugate of xk. That is,
if xk=Xkxc2x7ejxcex8, then xk*=xkxc2x7exe2x88x92jxcex8, or if xk=xk,r+jxk,i, then xk*=xk,rxe2x88x92jxk,i.
One might, for example, take seven guesses for xcex94f, such as: xe2x88x92600, xe2x88x92400, xe2x88x92200, 0,200, 400 and 600 Hertz, and evaluate the above sum using each value. The estimate for xcex94f is then that value that yields the largest value for the sum. This approach has two major shortcomings: it requires the evaluation of the sum many times and can only be as accurate as the guesses. Thus, if one wanted a better estimate, more and more closely spaced guesses should be used, which requires more processing time.
It will therefore be appreciated that a process for estimating xcex94f which does not require multiple evaluations or guesses would be highly desirable. Similarly, it would be desirable for the accuracy of the estimate not to depend so critically on the number of evaluations.
In accordance with the present invention, xcex94f is estimated by performing a pairwise weighted summation of consecutive received training symbols, where each weighting factor is related to the ratio of the corresponding training symbols that were originally transmitted. Preferably, the following sum is evaluated for the n symbol training sequence discussed above:             ∑              k        =        2            n        ⁢          xe2x80x83        ⁢                  y        k            ·              y                  k          -          1                *            ·              a        k        *              =      g    ·          ⅇ              j2        ⁢                  xe2x80x83                ⁢        πΔ        ⁢                  xe2x80x83                ⁢        f        ⁢                  xe2x80x83                ⁢        T            
where g is a real constant and xcex1k is defined by:
xk=xcex1kxc2x7xkxe2x88x921
and xcex1k* is the conjugate of xcex1k. Since the values of xk are predetermined, and xcex1k can be determined by dividing two of these values, the preceding sum is readily calculated and yields an estimate for xcex94f by performing a single summation and placing the result in polar format. By way of comparison, practical implementations of the prior art are able to estimate frequency offset with an accuracy of about 200 Hz, with a variation range of 600 Hz, while the present invention can estimate an accuracy 50 Hz in variation range of 4,000 Hz.